1. Field
Apparatuses and methods consistent with the exemplary embodiments include a method and an apparatus for controlling streams to receive data in parallel, and, more particularly, to a method and an apparatus for controlling streams to receive data in parallel, which can control the number of connections of parallel streams based on a network congestion rate and a threshold value.
2. Description of the Related Art
With the rapid spread of the use of highly efficient mobile devices has come a phenomenon of reduced transmission speeds for large files. This is because the demands of mobile devices are accommodated within a limited network bandwidth, and also because many mobile devices share that limited network bandwidth. As a result, network response times tend to deteriorate, especially for large file transmissions. One frequently attempted solution has been to upgrade the hardware so as to be able to send and receive data faster. This approach has been helpful, but expensive.
Other solutions focus on the manner in which the data is sent. One file transmission method is to transmit files using only a single transmission control protocol (TCP) stream. In this method, a single TCP stream is set up between a server and a client, in a cloud-based system. Then, data is transmitted through a single channel. However, since such a related-art file transmission method transmits data through a single channel, the transmission efficiency abruptly decreases when the network packet loss rate is high, or when the round trip time (RTT) for the channel is long.
Another approach arose in response to the problems just mentioned. In particular, another related-art file transmission method is to use parallel streams. In this related-art parallel stream approach, however, the number of connections of parallel streams is calculated depending on the packet loss rate and on the RTT. This results in the need to employ a complicated algorithm to calculate how many connections of parallel streams should be used. Unfortunately, a system call has to be made to determine the packet loss rate and the RTT. Since the result of the algorithm depends on the packet loss rate and the RTT, and since these two inputs require a system call, porting the algorithm to different systems requires a modification to the operating system (OS) kernel. Kernel modifications are certainly possible, but this point makes the more widespread development of such a system difficult.